The demand for fast and reliable data communications is currently high, and is likely to increase in the future. End users of data transmission services such as telecommunications and cable television services typically use two main criteria to judge the quality of a service: speed and reliability.
Entities that provide data transmission services are often required to manage networks that include many individual network components that are widely distributed in a geographical sense. This network infrastructure has made it necessary to provide a facility for remotely configuring each network component, as it is not practical or cost effective in many cases to locally configure or reconfigure each network component every time a change is made within the network. Moreover, configuration changes may be made on a regular basis and may be made at a network wide level.
The correct configuration of each network component is typically crucial to the smooth operation of the network as a whole. Misconfigured components can result in sub-optimal network performance that results in a slower end user experience. In some cases a misconfigured network component may completely suspend data traffic across part or all of a network, resulting in an interruption of service for some or all of the network's end users. Both of these situations are clearly undesirable from the point of view of all parties involved, as the end user experiences slow and/or unreliable service which translates into dissatisfaction with the entity administering the network and its associated services.
Compounding the above is the fact that a misconfigured network component can become unresponsive to remote instructions, necessitating a time consuming visit to the location of the unresponsive component to gain access to it in order to reconfigure it to work correctly. During this time the end users may experience slow service, or even a complete lack of service.
Existing network configuration and management solutions are reactive type solutions that typically focus on detecting network and equipment failures as soon as possible after they have occurred, with a view to identifying and fixing problems before they have a chance to significantly affect the service experienced by the end users of the network.
These reactive solutions suffer from two problems.
Firstly, a network component has to fail before a problem is detected. Even if the problem is detected and fixed rapidly, there will still be some time period in which the misconfigured component is not active and the delivery of the service will be compromised.
Secondly, a network component that is misconfigured to an extent that it is still functional but performing sub-optimally will not necessarily be detected by a reactive solution. The network component may remain misconfigured until a configuration update is applied across the network, which may not be until a significant time has passed. In some cases the network fault may not be identified until an end user reports a problem with their service to the entity managing the network.
Moreover, once a network fault has been detected, it may then be difficult to identify which network component is the root cause of the problem. Time consuming tests may have to be carried out involving many network components before the one that has been misconfigured is identified, possibly causing network disruption and so prolonging the period of disrupted service. Alternatively, an inefficient ‘blanket’ update approach may be taken where an update is applied across a portion of the network in the hope that the misconfigured component is reconfigured correctly, possibly causing disruption to that portion of the network while the update is applied.
In some cases, reconfiguring a misconfigured network component involves manually altering its configuration settings. This is often achieved via a command line interface (CLI) that requires a human to have memorized a number of commands, with the set of commands differing according to the specifics of the network component being accessed. This manual reconfiguration process is therefore slow, error prone and complex.
In addition to the above problems, in existing network management solutions it is often difficult or even impossible to identify the set of network components that are associated with providing a particular end user service. It may therefore be difficult to correlate reports of end user service problems with components of the network, extending the time between an end user reporting a service problem and the resolution of this problem. There may be a large number of network engineers working on a given network at any one time, each potentially without knowledge of network configuration changes made by the other engineers. This can lead to a situation where counterproductive network configuration changes are made by each engineer, further lengthening the time taken to diagnose and fix a service distribution problem.
Thus, it is clear that existing network and systems management solutions suffer from various limitations that can result in end users experiencing overly long periods of unsatisfactory service. Therefore, a need exists for improved network management and configuration systems.